/***************************************************************************
 *   Copyright (C) 2009 - 2010 by Simon Qian <SimonQian@SimonQian.com>     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#include "vsfhal.h"

#ifdef VSFHAL_HAS_USBD
const struct vsfhal_usbd_t vsfhal_usbd =
{
	vsfhal_usbd_init,
	vsfhal_usbd_fini,
	vsfhal_usbd_poll,
	vsfhal_usbd_reset,
	vsfhal_usbd_connect,
	vsfhal_usbd_disconnect,
	vsfhal_usbd_set_address,
	vsfhal_usbd_get_address,
	vsfhal_usbd_wakeup,
	vsfhal_usbd_get_frame_number,
	vsfhal_usbd_get_setup,
	vsfhal_usbd_prepare_buffer,

	&vsfhal_usbd_ep_num,
	vsfhal_usbd_ep_reset,
	vsfhal_usbd_ep_set_type,
	vsfhal_usbd_ep_set_IN_dbuffer,
	vsfhal_usbd_ep_is_IN_dbuffer,
	vsfhal_usbd_ep_switch_IN_buffer,
	vsfhal_usbd_ep_set_IN_epsize,
	vsfhal_usbd_ep_get_IN_epsize,
	vsfhal_usbd_ep_set_IN_stall,
	vsfhal_usbd_ep_clear_IN_stall,
	vsfhal_usbd_ep_is_IN_stall,
	vsfhal_usbd_ep_reset_IN_toggle,
	vsfhal_usbd_ep_set_IN_count,
	vsfhal_usbd_ep_write_IN_buffer,
	vsfhal_usbd_ep_set_OUT_dbuffer,
	vsfhal_usbd_ep_is_OUT_dbuffer,
	vsfhal_usbd_ep_switch_OUT_buffer,
	vsfhal_usbd_ep_set_OUT_epsize,
	vsfhal_usbd_ep_get_OUT_epsize,
	vsfhal_usbd_ep_set_OUT_stall,
	vsfhal_usbd_ep_clear_OUT_stall,
	vsfhal_usbd_ep_is_OUT_stall,
	vsfhal_usbd_ep_reset_OUT_toggle,
	vsfhal_usbd_ep_get_OUT_count,
	vsfhal_usbd_ep_read_OUT_buffer,
	vsfhal_usbd_ep_enable_OUT,
	&vsfhal_usbd_callback,
};
#endif

